package cc.iotkit.model.interceptors;

import cc.iotkit.common.satoken.utils.LoginHelper;

import java.util.Set;

public class DataScopeSqlBuilder {
    //拼接数据权限sql
    public static String build(String alias) {
        String deptFilter="";
        boolean isTenantAdmin=false;
        if(!LoginHelper.isSuperAdmin()){
            Set<String> depts= LoginHelper.getLoginUser().getRoleDeptPermission();
            for(String dept:depts){
                if(dept.equals("ALL")) {
                    isTenantAdmin=true;
                    deptFilter=" and "+alias+".tenant_id="+LoginHelper.getTenantId();
                    break;
                }
                else
                    deptFilter+=dept+",";
            }
        }
        if(!isTenantAdmin&&deptFilter.length()>0){
            deptFilter=deptFilter.substring(0,deptFilter.length()-1);
            deptFilter=" and "+alias+".create_dept in ("+deptFilter+")";
        }

        return deptFilter;
    }

}
